package fileIO;

/*
 * 	第一步, 生成测试文件
 在给定目录生成1000个文件
 0001.txt
 0002.txt
 ....
 1000.txt	
 
 第二步, 每30个文件移入一个子目录中 renameTo方法
 dir001目录
 dir002目录
 ....
 */
import java.io.File;
import java.io.IOException;

public class FileExercise {
	public static void main(String[] args) throws IOException {
		File dir = new File("/home/tarena/Desktop/1001files");
		dir.mkdirs();
		File[] files = new File[1000];
		// 创建1000个文件，并将其放入文件数组中，以得到有序的文件数组，避免使用listFiles()方法得到无序的文件数组
		for (int i = 1; i <= 1000; i++) {
			File f = new File(dir, String.format("%04d", i) + ".txt");// 文件名字为四位数字
			f.createNewFile();
			files[i - 1] = f;
		}

		int count = 0;
		// 创建连续的文件夹
		for (int i = 1; i <= 1 + 1000 / 30; i++) {
			File dir1 = new File(dir + "/dir" + String.format("%03d", i));// 文件夹名字为dir+三位数字
			dir1.mkdir();
			// 每三十个文件放到一个文件夹
			for (int j = 0; j < 30; j++) {
				files[count].renameTo(new File(dir1 + "/"
						+ files[count].getName()));
				count++;
				// 文件全部移动完成后退出
				if (count == 1000)
					break;
			}
		}
	}
}
